#define  _CRT_SECURE_NO_WARNINGS

#include "Sort.h"


void TestSelectSort()
{
	int arr[] = { 9,1,2,5,7,4,6,3};
	PrintArr(arr, sizeof(arr) / sizeof(int));
	SelectSort(arr, sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}


void TestBubbleSort()
{

	int arr[] = { 2,4,1,7,8,3,9,5 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	BubbleSort(arr, sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}


void TestInsertSort()
{

	int arr[] = { 2,4,1,7,8,3,9,5 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	InsertSort(arr, sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}


void TestHeapSort()
{

	int arr[] = { 2,4,1,7,8,3,9,5 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	HeapSort(arr, sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}


void TestShellSort()
{

	int arr[] = { 2,4,1,7,8,3,9,5 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	ShellSort(arr, sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}

void TestQuickSort()
{

	int arr[] = { 2,4,1,7,8,3,9,5 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	QuickSort(arr, 0 , sizeof(arr) / sizeof(int) - 1);
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}

void TestMergeSort()
{

	int arr[] = { 2,4,1,7,8,3,9,5 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	MergeSort(arr,sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}


void TestQuickSortNoR()
{

	int arr[] = {3,1,9,2,10,6,5,7,8,4};
	PrintArr(arr, sizeof(arr) / sizeof(int));
	QuickSortNoR(arr, 0 , sizeof(arr) / sizeof(int)-1);
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}



void TestMergeSortNoR()
{

	int arr[] = { 3,1,9,2,10,6,5,7,8,4 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	MergeSortNoR(arr,sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}


void TestCountSort()
{

	int arr[] = { 3,1,9,2,10,6,5,7,8,4 };
	PrintArr(arr, sizeof(arr) / sizeof(int));
	CountSort(arr, sizeof(arr) / sizeof(int));
	PrintArr(arr, sizeof(arr) / sizeof(int));
	printf("\n");
}

int main()
{

	//TestSelectSort();
	//TestBubbleSort();
	//TestInsertSort();
	//TestHeapSort();
	//TestShellSort();
	//TestQuickSort();
	//TestMergeSort();
	//TestQuickSortNoR();
	//TestMergeSortNoR();
	TestCountSort();
	return 0;
}